home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-03
/
qbnws202.zip
/
FASTPRNT.ZIP
/
FASTPRNT.BAS
< prev
next >
Wrap
BASIC Source File
|
1991-06-01
|
2KB
|
55 lines
defint a-z
'Listing 1.5 QuickBASIC demonstration program.
' PANELS.BAS
'
DECLARE SUB FastPrint (BYVAL Row%, BYVAL Col%, Message$, BYVAL Attr%)
DECLARE FUNCTION Randy% (Lowest%, Highest%)
DECLARE SUB Panel (Row%, Col%, Rows%, Cols%, Border%, Attr%)
RANDOMIZE TIMER
Height% = 25 ' Change for 43 or 50 row screens
Columns% = 80 ' Change for 40 column screens
CLS
DO
Row% = Randy%(1, Height%)
Col% = Randy%(1, Columns%)
Rows% = Randy%(2, Height%)
IF Row% + Rows% > Height% THEN Rows% = Height% - Row%
Cols% = Randy%(2, Columns%)
IF Col% + Cols% > Columns% THEN Cols% = Columns% - Col%
Border% = Randy%(0, 2)
Attr% = Randy%(0, 255)
Panel Row%, Col%, Rows%, Cols%, Border%, Attr%
LOOP UNTIL INKEY$ = CHR$(27)
END
SUB Panel (Row%, Col%, Rows%, Cols%, Border%, Attr%) STATIC
IF Cols% > 2 AND Rows% > 2 THEN
SELECT CASE Border%
CASE 1
Top$ = "+" + STRING$(Cols% - 2, "-") + "+"
Mdl$ = "|" + STRING$(Cols% - 2, " ") + "|"
Bot$ = "+" + STRING$(Cols% - 2, "-") + "+"
CASE 2
Top$ = "+" + STRING$(Cols% - 2, "-") + "+"
Mdl$ = "|" + STRING$(Cols% - 2, " ") + "|"
Bot$ = "+" + STRING$(Cols% - 2, "-") + "+"
CASE ELSE
Top$ = SPACE$(Cols%): Mdl$ = Top$: Bot$ = Top$
END SELECT
FastPrint Row%, Col%, Top$, Attr%
FOR I% = 1 TO Rows% - 2
FastPrint Row% + I%, Col%, Mdl$, Attr%
NEXT I%
FastPrint Row% + I%, Col%, Bot$, Attr%
END IF
END SUB
' Return a random integer between the limits specified.
'
FUNCTION Randy% (Lowest%, Highest%) STATIC
Randy% = INT(RND * ((Highest% - Lowest%) + 1)) + Lowest%
END FUNCTION